package com.js.common.util;

import com.js.common.entity.BizEntity;
import com.js.core.context.BaseContextHandler;
import lombok.extern.slf4j.Slf4j;

import java.util.Date;

/**
 * @author： ygl
 * @date： 2018/10/25
 * @Description：
 * 实体类的工具类
 */
@Slf4j
public class EntityUtils {

    /**
     * 设置必要信息
     * @param entity
     * @param <T>
     */
    public static <T extends BizEntity> void setCreateAndUpdateInfo(T entity) {
        setCreateInfo(entity);
        setUpdateInfo(entity);
    }

    /**
     * 设置插入时需要的数据
     * @param entity
     * @param <T>
     */
    public static <T extends BizEntity> void setCreateInfo(T entity){
        String userName = BaseContextHandler.getName();
        String userId = BaseContextHandler.getUserId();
        entity.setCrtTime(new Date());
        entity.setCrtUserId(userId);
        entity.setCrtUserName(userName);
    }

    /**
     * 设置更新时需要的数据
     * @param entity
     * @param <T>
     */
    public static <T extends BizEntity> void setUpdateInfo(T entity){
        String userName = BaseContextHandler.getName();
        String userId = BaseContextHandler.getUserId();
        entity.setUpdTime(new Date());
        entity.setUpdUserId(userId);
        entity.setUpdUserName(userName);
    }
}
